Software Development
Software Testing with Cucumber
Beginning Cucumber and Behavior-driven Development
Cucumber Steps and Scenario Development
Deep Dive Cucumber

Beginning Cucumber and Behavior-driven Development

Course Number:
sd_cucb_a01_it_enus
Lesson Objectives

Beginning Cucumber and Behavior-driven Development

  • start the course
  • define the concepts behind ATDD, automated acceptance tests, and how Behavior-driven Development stems from this concept
  • recognize the fundamental principles of BDD, process in which Cucumber supports and the benefits of using it
  • describe the process in example mapping and understand the distinction between rules and examples
  • demonstrate use cases using the application of Rules, Examples and Example Mapping
  • identify how Cucumber works with features and steps and how it can be used with Ruby code
  • list the available versions and the process of installing Cucumber with Ruby on Linux, Mac OSX, and Windows development machines, including HTTP proxy settings and additional gem packages
  • install Cucumber with Ruby on a Mac OSX development machine
  • identify Cucumber features and scenarios by writing feature files
  • use regular expressions to create step definitions in Cucumber scenarios
  • run Cucumber scenarios and show how to use the different formatters
  • recognize how to add and manage assertions in Cucumber scenarios
  • create a scenario that includes both features and steps, while exploring concepts in BDD design

Overview/Description
Cucumber and BDD provide several analysis and collaboration techniques to complement Test Driven Development. In this course, you will explore the concepts of Cucumber and BDD, including rules, example mapping, and installing Cucumber.

Target Audience
Developers and QA analysts familiar with Ruby, and who want to use Cucumber to create rich text-based feature requirements and documentation and run automated acceptance tests for Test-driven Development

Cucumber Steps and Scenario Development

Course Number:
sd_cucb_a02_it_enus
Lesson Objectives

Cucumber Steps and Scenario Development

  • start the course
  • describe the purpose of Gherkin in Test-driven Development and benefits along with the syntax used
  • recognize the purpose of using features in Gherkin files and how to implement it to a project
  • define steps and step definitions and how it is implemented in an example
  • use features such as capture groups and wildcards and multiple arguments in Cucumber steps
  • describe the available result states for a Cucumber scenario and provide examples of scenarios containing steps that lead to these results
  • describe a background section in a Cucumber feature file to outline steps common to all scenarios
  • use doc strings and data tables for data that doesn't fit on one line in Cucumber scenarios
  • use scenario outlines to define steps for Cucumber scenarios
  • use nest steps in Cucumber scenarios
  • describe the use of transforms to remove duplication in Cucumber step definitions
  • describe the Cucumber World object and refactor steps into Ruby helper methods that are added to the World
  • describe the uses for directories and tagging Cucumber scenarios at feature and scenario level
  • recognize the implementations of steps and step definitions, and how expressive scenarios work

Overview/Description
Cucumber has various strategies and implementations that provide users the ability of creating expressive scenarios. In this course, you'll learn Gherkin and the ability of creating expressive scenarios optimizing test outputs.

Target Audience
Software developers, QA, and business analysts who want to learn how to use Cucumber-Ruby to support behavior-driven software development

Deep Dive Cucumber

Course Number:
sd_cucb_a03_it_enus
Lesson Objectives

Deep Dive Cucumber

  • start the course
  • group Cucumber features in subfolders and run a feature from a subfolder
  • demonstrate how to filter Cucumber scenarios to run a subset using tags or lines
  • use hooks in Cucumber scenarios
  • demonstrate how to modify the default output from Cucumber using formatters such as progress, rerun, usage and stepdef, formatting to file, and use backtrace option
  • demonstrate how to store Cucumber command line options in a YAML file and use the profile option to run them
  • recognize handling of asynchronous systems in Cucumber scenarios
  • recognize concepts including introducing ActiveRecord, refactor a Cucumber scenario to use data, and read and write data to a database
  • use transactions and truncation to clean databases for Cucumber scenarios
  • test REST APIs with Cucumber
  • identify issues in Cucumber scenarios such as flickering scenarios; brittle and slow features; and unengaged stakeholders, identify underlying causes, and provide solutions
  • recognize how Cucumber and Gherkin can be used with IOS, Android, PHP and many more platforms for tests
  • create Cucumber scenarios for an ATM application

Overview/Description
This course focuses on managing scenarios and behaviors. You will work with various scenarios including databases and web services, REST API and troubleshooting test processes.

Target Audience
Software developers, QA, and business analysts who want to learn how to use Cucumber-Ruby to support behavior-driven software development

Close Chat Live